1. Field of the Invention
The present invention relates to a contents delivery system and method, and more particularly, to a contents delivery system and method for allowing a web server or a contents provider domain name system (DNS) server of a contents provider providing a page including an embedded object to a client to determine whether the contents provider directly provides the embedded object or a host server of a contents delivery network (CDN) provider provides the embedded object in consideration of proximity of the client to the web server, the web server and the contents provider DNS server.
2. Description of the Related Art
A web server of a contents provider (CP) generally provides a large number of contents (for example, videos, music, files, etc.) to clients. A large load is generated when the web server provides the whole or some of the contents to a plurality of clients one to one because the plurality of clients exist in a plurality of Internet service providers (ISPs) while the web server is connected to a single ISP.
Accordingly, traffic between ISPs exponentially increases as the number of contents providers and clients increase, and thus transmission delay and/or transmission failure rate due to traffic congestion increase. Web server fail-over may occur in the worst case.
To solve this problem, a contents delivery network (CDN) is introduced. The CDN is a service which previously stores contents converging on a web server of a contents provider located at a great distance from clients, for example, contents with large capacity, such as pictures, banners, videos or audio, or contents frequently requested by clients, in host servers globally deployed at points of presence (PoP) of a plurality of ISPs and redirects the path of the host server closest to a client when the client requests the contents provider to provide contents such that the client accesses the host server through the redirected path to be provided with the contents. Here, the host server may be referred to as a cache server, a replica server or a ghost server.
The CDN is classified into an overlay type and a network type according to system configuration. In the overlay type CDN, a server for a special purpose and a plurality of cache servers manage distribution of contents. The overlay type CDN has an advantage of simple administration because there is no need for a CDN provider to control network lower layer. In the network type CDN, network components such as a router and a switch include codes for confirming a specific application type and forwarding requests of clients according to a predetermined policy.
Recently, most of solutions of CDN providers have adopted mixture of the overlay and network types. An example of mixture of the two types is disclosed in U.S. Pat. No. 6,108,703 (Referred to as '703 patent hereinafter) entitled “Global hosting system”, issued to F. Thomson Lieghton et al., and assigned to MIT (Massachusetts Institute of Technology).
According to the '703 patent, a web server of a contents provider provides a page including a uniform resource locator (URL) (referred to as ‘modified URL’ hereinafter) of an embedded object, which is modified according to a special routine, in response to a request of a client. The web browser of the client loads the embedded object in order to display the page. The '703 patent identifies the modified URL through hierarchical DNS servers called a first level name server and a second level name server and returns the IP address of the optimum host server capable of providing the actual object to the client.
The '703 patent uses so-called DNS-based request routing. Although general DNS-based request routing has a problem that network latency according to DNS look-up time is aggravated, the '703 patent decreases network latency by constructing hierarchical DNS servers.
However, even when the client is located in proximity to the web server of the contents provider, that is, when the client and the web server of the contents provider are close to each other geographically or on a network route, the DNS-based request routing is performed, which is inefficient.
Accordingly, a method for solving the aforementioned problems is required.